using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Stack;
using ILRuntime.Reflection;
using ILRuntime.CLR.Utils;
using System.Linq;

namespace ILRuntime.Runtime.Generated
{
    unsafe class huqiang_Core_HGUI_HGraphics_Binding
    {
        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
        {
            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
            MethodBase method;
            FieldInfo field;
            Type[] args;
            Type type = typeof(huqiang.Core.HGUI.HGraphics);
            args = new Type[]{};
            method = type.GetMethod("get_TypeName", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_TypeName_0);
            args = new Type[]{};
            method = type.GetMethod("get_MainColor", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_MainColor_1);
            args = new Type[]{typeof(UnityEngine.Color32)};
            method = type.GetMethod("set_MainColor", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, set_MainColor_2);
            args = new Type[]{};
            method = type.GetMethod("get_SizeDelta", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_SizeDelta_3);
            args = new Type[]{typeof(UnityEngine.Vector2)};
            method = type.GetMethod("set_SizeDelta", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, set_SizeDelta_4);
            args = new Type[]{};
            method = type.GetMethod("get_Material", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_Material_5);
            args = new Type[]{typeof(UnityEngine.Material)};
            method = type.GetMethod("set_Material", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, set_Material_6);
            args = new Type[]{};
            method = type.GetMethod("ReSized", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, ReSized_7);
            args = new Type[]{};
            method = type.GetMethod("UpdateMesh", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, UpdateMesh_8);
            args = new Type[]{typeof(System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>), typeof(System.Collections.Generic.List<System.Int32>)};
            method = type.GetMethod("LoadFromMesh", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadFromMesh_9);
            args = new Type[]{typeof(huqiang.Core.HGUI.HVertex[])};
            method = type.GetMethod("LoadVert", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadVert_10);
            args = new Type[]{typeof(System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>)};
            method = type.GetMethod("LoadVert", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadVert_11);
            args = new Type[]{typeof(System.Int32[])};
            method = type.GetMethod("LoadTris", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadTris_12);
            args = new Type[]{typeof(System.Int32[])};
            method = type.GetMethod("LoadTris2", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadTris2_13);
            args = new Type[]{typeof(System.Collections.Generic.List<System.Int32>)};
            method = type.GetMethod("LoadTris", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadTris_14);
            args = new Type[]{typeof(System.Collections.Generic.List<System.Int32>)};
            method = type.GetMethod("LoadTris2", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, LoadTris2_15);
            args = new Type[]{};
            method = type.GetMethod("Dispose", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Dispose_16);

            field = type.GetField("shader", flag);
            app.RegisterCLRFieldGetter(field, get_shader_0);
            app.RegisterCLRFieldSetter(field, set_shader_0);
            app.RegisterCLRFieldBinding(field, CopyToStack_shader_0, AssignFromStack_shader_0);
            field = type.GetField("uvrect", flag);
            app.RegisterCLRFieldGetter(field, get_uvrect_1);
            app.RegisterCLRFieldSetter(field, set_uvrect_1);
            app.RegisterCLRFieldBinding(field, CopyToStack_uvrect_1, AssignFromStack_uvrect_1);
            field = type.GetField("m_dirty", flag);
            app.RegisterCLRFieldGetter(field, get_m_dirty_2);
            app.RegisterCLRFieldSetter(field, set_m_dirty_2);
            app.RegisterCLRFieldBinding(field, CopyToStack_m_dirty_2, AssignFromStack_m_dirty_2);
            field = type.GetField("m_vertexChange", flag);
            app.RegisterCLRFieldGetter(field, get_m_vertexChange_3);
            app.RegisterCLRFieldSetter(field, set_m_vertexChange_3);
            app.RegisterCLRFieldBinding(field, CopyToStack_m_vertexChange_3, AssignFromStack_m_vertexChange_3);
            field = type.GetField("m_colorChanged", flag);
            app.RegisterCLRFieldGetter(field, get_m_colorChanged_4);
            app.RegisterCLRFieldSetter(field, set_m_colorChanged_4);
            app.RegisterCLRFieldBinding(field, CopyToStack_m_colorChanged_4, AssignFromStack_m_colorChanged_4);
            field = type.GetField("MainTexture", flag);
            app.RegisterCLRFieldGetter(field, get_MainTexture_5);
            app.RegisterCLRFieldSetter(field, set_MainTexture_5);
            app.RegisterCLRFieldBinding(field, CopyToStack_MainTexture_5, AssignFromStack_MainTexture_5);
            field = type.GetField("STexture", flag);
            app.RegisterCLRFieldGetter(field, get_STexture_6);
            app.RegisterCLRFieldSetter(field, set_STexture_6);
            app.RegisterCLRFieldBinding(field, CopyToStack_STexture_6, AssignFromStack_STexture_6);
            field = type.GetField("TTexture", flag);
            app.RegisterCLRFieldGetter(field, get_TTexture_7);
            app.RegisterCLRFieldSetter(field, set_TTexture_7);
            app.RegisterCLRFieldBinding(field, CopyToStack_TTexture_7, AssignFromStack_TTexture_7);
            field = type.GetField("FTexture", flag);
            app.RegisterCLRFieldGetter(field, get_FTexture_8);
            app.RegisterCLRFieldSetter(field, set_FTexture_8);
            app.RegisterCLRFieldBinding(field, CopyToStack_FTexture_8, AssignFromStack_FTexture_8);
            field = type.GetField("Shadow", flag);
            app.RegisterCLRFieldGetter(field, get_Shadow_9);
            app.RegisterCLRFieldSetter(field, set_Shadow_9);
            app.RegisterCLRFieldBinding(field, CopyToStack_Shadow_9, AssignFromStack_Shadow_9);
            field = type.GetField("shadowOffsset", flag);
            app.RegisterCLRFieldGetter(field, get_shadowOffsset_10);
            app.RegisterCLRFieldSetter(field, set_shadowOffsset_10);
            app.RegisterCLRFieldBinding(field, CopyToStack_shadowOffsset_10, AssignFromStack_shadowOffsset_10);
            field = type.GetField("shadowColor", flag);
            app.RegisterCLRFieldGetter(field, get_shadowColor_11);
            app.RegisterCLRFieldSetter(field, set_shadowColor_11);
            app.RegisterCLRFieldBinding(field, CopyToStack_shadowColor_11, AssignFromStack_shadowColor_11);


            app.RegisterCLRCreateDefaultInstance(type, () => new huqiang.Core.HGUI.HGraphics());
            app.RegisterCLRCreateArrayInstance(type, s => new huqiang.Core.HGUI.HGraphics[s]);

            args = new Type[]{};
            method = type.GetConstructor(flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Ctor_0);

        }


        static StackObject* get_TypeName_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.TypeName;

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* get_MainColor_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.MainColor;

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* set_MainColor_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.Color32 @value = (UnityEngine.Color32)typeof(UnityEngine.Color32).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.MainColor = value;

            return __ret;
        }

        static StackObject* get_SizeDelta_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.SizeDelta;

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* set_SizeDelta_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.Vector2 @value = (UnityEngine.Vector2)typeof(UnityEngine.Vector2).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.SizeDelta = value;

            return __ret;
        }

        static StackObject* get_Material_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.Material;

            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* set_Material_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.Material @value = (UnityEngine.Material)typeof(UnityEngine.Material).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Material = value;

            return __ret;
        }

        static StackObject* ReSized_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.ReSized();

            return __ret;
        }

        static StackObject* UpdateMesh_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.UpdateMesh();

            return __ret;
        }

        static StackObject* LoadFromMesh_9(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List<System.Int32> @tris = (System.Collections.Generic.List<System.Int32>)typeof(System.Collections.Generic.List<System.Int32>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Collections.Generic.List<huqiang.Core.HGUI.HVertex> @vert = (System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>)typeof(System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadFromMesh(@vert, @tris);

            return __ret;
        }

        static StackObject* LoadVert_10(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HVertex[] @vert = (huqiang.Core.HGUI.HVertex[])typeof(huqiang.Core.HGUI.HVertex[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadVert(@vert);

            return __ret;
        }

        static StackObject* LoadVert_11(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List<huqiang.Core.HGUI.HVertex> @vert = (System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>)typeof(System.Collections.Generic.List<huqiang.Core.HGUI.HVertex>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadVert(@vert);

            return __ret;
        }

        static StackObject* LoadTris_12(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32[] @tri = (System.Int32[])typeof(System.Int32[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadTris(@tri);

            return __ret;
        }

        static StackObject* LoadTris2_13(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32[] @tri = (System.Int32[])typeof(System.Int32[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadTris2(@tri);

            return __ret;
        }

        static StackObject* LoadTris_14(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List<System.Int32> @tri = (System.Collections.Generic.List<System.Int32>)typeof(System.Collections.Generic.List<System.Int32>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadTris(@tri);

            return __ret;
        }

        static StackObject* LoadTris2_15(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List<System.Int32> @tri = (System.Collections.Generic.List<System.Int32>)typeof(System.Collections.Generic.List<System.Int32>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LoadTris2(@tri);

            return __ret;
        }

        static StackObject* Dispose_16(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.HGraphics instance_of_this_method = (huqiang.Core.HGUI.HGraphics)typeof(huqiang.Core.HGUI.HGraphics).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Dispose();

            return __ret;
        }


        static object get_shader_0(ref object o)
        {
            return huqiang.Core.HGUI.HGraphics.shader;
        }

        static StackObject* CopyToStack_shader_0(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.HGraphics.shader;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_shader_0(ref object o, object v)
        {
            huqiang.Core.HGUI.HGraphics.shader = (UnityEngine.Shader)v;
        }

        static StackObject* AssignFromStack_shader_0(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Shader @shader = (UnityEngine.Shader)typeof(UnityEngine.Shader).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            huqiang.Core.HGUI.HGraphics.shader = @shader;
            return ptr_of_this_method;
        }

        static object get_uvrect_1(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).uvrect;
        }

        static StackObject* CopyToStack_uvrect_1(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).uvrect;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_uvrect_1(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).uvrect = (UnityEngine.Vector4)v;
        }

        static StackObject* AssignFromStack_uvrect_1(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Vector4 @uvrect = (UnityEngine.Vector4)typeof(UnityEngine.Vector4).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            ((huqiang.Core.HGUI.HGraphics)o).uvrect = @uvrect;
            return ptr_of_this_method;
        }

        static object get_m_dirty_2(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).m_dirty;
        }

        static StackObject* CopyToStack_m_dirty_2(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).m_dirty;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_m_dirty_2(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).m_dirty = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_m_dirty_2(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @m_dirty = ptr_of_this_method->Value == 1;
            ((huqiang.Core.HGUI.HGraphics)o).m_dirty = @m_dirty;
            return ptr_of_this_method;
        }

        static object get_m_vertexChange_3(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).m_vertexChange;
        }

        static StackObject* CopyToStack_m_vertexChange_3(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).m_vertexChange;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_m_vertexChange_3(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).m_vertexChange = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_m_vertexChange_3(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @m_vertexChange = ptr_of_this_method->Value == 1;
            ((huqiang.Core.HGUI.HGraphics)o).m_vertexChange = @m_vertexChange;
            return ptr_of_this_method;
        }

        static object get_m_colorChanged_4(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).m_colorChanged;
        }

        static StackObject* CopyToStack_m_colorChanged_4(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).m_colorChanged;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_m_colorChanged_4(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).m_colorChanged = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_m_colorChanged_4(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @m_colorChanged = ptr_of_this_method->Value == 1;
            ((huqiang.Core.HGUI.HGraphics)o).m_colorChanged = @m_colorChanged;
            return ptr_of_this_method;
        }

        static object get_MainTexture_5(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).MainTexture;
        }

        static StackObject* CopyToStack_MainTexture_5(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).MainTexture;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_MainTexture_5(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).MainTexture = (UnityEngine.Texture)v;
        }

        static StackObject* AssignFromStack_MainTexture_5(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Texture @MainTexture = (UnityEngine.Texture)typeof(UnityEngine.Texture).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.HGraphics)o).MainTexture = @MainTexture;
            return ptr_of_this_method;
        }

        static object get_STexture_6(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).STexture;
        }

        static StackObject* CopyToStack_STexture_6(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).STexture;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_STexture_6(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).STexture = (UnityEngine.Texture)v;
        }

        static StackObject* AssignFromStack_STexture_6(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Texture @STexture = (UnityEngine.Texture)typeof(UnityEngine.Texture).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.HGraphics)o).STexture = @STexture;
            return ptr_of_this_method;
        }

        static object get_TTexture_7(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).TTexture;
        }

        static StackObject* CopyToStack_TTexture_7(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).TTexture;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_TTexture_7(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).TTexture = (UnityEngine.Texture)v;
        }

        static StackObject* AssignFromStack_TTexture_7(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Texture @TTexture = (UnityEngine.Texture)typeof(UnityEngine.Texture).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.HGraphics)o).TTexture = @TTexture;
            return ptr_of_this_method;
        }

        static object get_FTexture_8(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).FTexture;
        }

        static StackObject* CopyToStack_FTexture_8(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).FTexture;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_FTexture_8(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).FTexture = (UnityEngine.Texture)v;
        }

        static StackObject* AssignFromStack_FTexture_8(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Texture @FTexture = (UnityEngine.Texture)typeof(UnityEngine.Texture).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.HGraphics)o).FTexture = @FTexture;
            return ptr_of_this_method;
        }

        static object get_Shadow_9(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).Shadow;
        }

        static StackObject* CopyToStack_Shadow_9(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).Shadow;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_Shadow_9(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).Shadow = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_Shadow_9(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @Shadow = ptr_of_this_method->Value == 1;
            ((huqiang.Core.HGUI.HGraphics)o).Shadow = @Shadow;
            return ptr_of_this_method;
        }

        static object get_shadowOffsset_10(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).shadowOffsset;
        }

        static StackObject* CopyToStack_shadowOffsset_10(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).shadowOffsset;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_shadowOffsset_10(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).shadowOffsset = (UnityEngine.Vector2)v;
        }

        static StackObject* AssignFromStack_shadowOffsset_10(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Vector2 @shadowOffsset = (UnityEngine.Vector2)typeof(UnityEngine.Vector2).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            ((huqiang.Core.HGUI.HGraphics)o).shadowOffsset = @shadowOffsset;
            return ptr_of_this_method;
        }

        static object get_shadowColor_11(ref object o)
        {
            return ((huqiang.Core.HGUI.HGraphics)o).shadowColor;
        }

        static StackObject* CopyToStack_shadowColor_11(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.HGraphics)o).shadowColor;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_shadowColor_11(ref object o, object v)
        {
            ((huqiang.Core.HGUI.HGraphics)o).shadowColor = (UnityEngine.Color32)v;
        }

        static StackObject* AssignFromStack_shadowColor_11(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            UnityEngine.Color32 @shadowColor = (UnityEngine.Color32)typeof(UnityEngine.Color32).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            ((huqiang.Core.HGUI.HGraphics)o).shadowColor = @shadowColor;
            return ptr_of_this_method;
        }



        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);

            var result_of_this_method = new huqiang.Core.HGUI.HGraphics();

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }


    }
}
